iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0

什麼是 Dev Container

Dev Container 是提供功能齊全開發環境的 docker container,當開發人員使用 GitHub Codespace 工作時,所工作的環境是使用託管在虛擬機器上的 Dev Container 建立的。理所當然,你可以選擇 Codespace 所使用的 Dev Container,以客製化你的開發環境,包含為特定專案所需要的 Tools 與 Runtime。如果沒有自行設定 dev container,則會使用 GitHub Codespace 預設的 dev container。

預設的 Dev Container 包含 Python、Node、PHP、Java、Go、C++、Ruby 和 .NET Core/C# 等熱門語言長期支援版本或最新版本,也支援開發人員常用工具 (Git、yarn、openssh 與 vim) 機械學習工具 (如 JupyterLab 和 Conda),更多預設 dev container 資訊可以參考devcontainers/images

 
 
 

如何設定 Codespace 所需要的 Dev Container

dev container 的設定檔會存放在儲存庫的 .devcontainer 目錄中,使用者可以使用 Visual Studio Code 為您新增設定檔。你可以透過下列步驟設定使用預先定義的開發容器:

  1. 使用 Ctrl+Shift+P 開啟 Command Palette,輸入 add dev,選擇 Codespaces: Add Dev Container Configuration Files
    https://ithelp.ithome.com.tw/upload/images/20240920/20091494gY0qAaGXzw.png

 

  1. 選擇 Create a new configuration
    https://ithelp.ithome.com.tw/upload/images/20240920/20091494AeBxY6NRID.png

 

  1. 點選 Show All Definitions
    https://ithelp.ithome.com.tw/upload/images/20240920/20091494VFiieqpJ43.png

 

  1. 選擇想要的 Dev Container,依據提示自訂定義內容
    https://ithelp.ithome.com.tw/upload/images/20240920/20091494fYNKgJrYgs.png

 

  1. 完成後,會有提示訊息出現:要重新建置 container
    https://ithelp.ithome.com.tw/upload/images/20240920/200914942tLJ6CMBA1.png

 

  1. 完成後即可看見 .devcontainer 資料夾下出現 devcontainer.json 檔案。使用者可以直接編輯此檔案來增加功能
    https://ithelp.ithome.com.tw/upload/images/20240920/20091494a1PbrQJe18.png

使用者可以在 Repository > .devcontainer 目錄下 devcontainer.json,以提供從此 Repository 建立 Codespace 每個人使用;如果想要提供多種設定選擇,可以在 .devcontainer 目錄下建立多個子目錄,並將多個自訂 devcontainer.json 個別放入其中。

 

另一種加入 Dev Container 設定 (加入 devcontainer.json 檔案) 方式,在 Repository 建立 codespace 前,點選 ... 按鈕 > 點選 Configure dev container,即可開始編輯 devcontainer.json
https://ithelp.ithome.com.tw/upload/images/20240920/20091494bQ2vsLF2Aa.png
https://ithelp.ithome.com.tw/upload/images/20240920/20091494qKHOebAnsQ.png

 
 
 

後記

介紹完 Dev Container 後,應該會有讀者好奇 desktop 版本的 visual studio code 是否也能使用 Dev Container,這答案是肯定的:使用者可以在延伸模組內找到 Dev Containers,理所當然,本地開發環境必須有安裝 docker。
https://ithelp.ithome.com.tw/upload/images/20240920/20091494EzcVUCqK9t.png

 

Dev Container 可以讓團隊成員使用一致的開發環境與工具,並杜絕發生因環境設定不同讓開發人員花費大量時間與精力進行設定,也避免了因設定失誤導致 "在我的電腦能執行,在別人的電腦不能執行這件事情"。 雖然這與持續整合階段進行的事情有異曲同工之妙 (在一個乾淨的環境進行建置)。雖然只是左移至開發階段,但帶來更多好處。


上一篇
GitHub Codespace 協作功能 - Live Share
下一篇
GitHub Codespace 各項管理功能說明
系列文
現代化應用程式開發與維運 - GitHub Codespace 與 GitHub Copilot13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言